/*
 * Copyright (c) 2020 hebeiyiliuba.com
 * All rights reserved.
 *
 */
package org.jeecg.modules.third.jg.mingna.shippingnote;

import lombok.Data;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import java.io.Serializable;

/**
 * 对接铭钠监管电子运单
 */
@Data
public class MingnaShippingNoteDTO implements Serializable {
    /**
     * 原始单号 上游企业委托运输单号
     */
    private String originalDocumentNumber;
    /**
     * 运单号
     */
    private String shippingNoteNumber;
    /**
     * 运输总车辆数 同一运单号的货物总共 使用的运输车辆总数
     */
    private int vehicleAmount;
    /**
     * 分段分单号 分段运输和多车运输由 四位数字组成， 前两位代表一 单多车的序号，后两位代表分 段序号。
     * 若运输形式为一单一 车填 0000。
     */
    private String serialNumber;
    /**
     * 运输组织类型代码
     * 1 公路运输
     * 2 公铁联运
     * 3 公水联运
     * 4 公空联运
     * 5 公铁水联运
     * 6 公铁空联运
     * 7 公水空联运
     * 8 公铁水空联运
     */
    private int transportTypeCode;
    /**
     * 运单上传 时间
     */
    private String sendToProDateTime;
    /**
     * 网络货运 经营者名称
     */
    private String carrier;
    /**
     * 统一社会 信用代码
     */
    private String unifiedSocialCreditIdentifier;
    /**
     * 道路运输经营许可 网络货运经营者的道路 运输经营许可证编号。
     */
    private String permitNumber;
    /**
     * 运单生成时间 网络货运经营者信息系 统正式成交生成运单的日期时 间。YYYYMMDDhhmmss
     */
    private String consignmentDateTime;
    /**
     * 业务类型代码 代码集。 BusinessTypeCodeEnum
     */
    private String businessTypeCode;
    /**
     * 发货日期时间 本单货物的发货时间 。 YYYYMMDDhhmmss
     */
    private String despatchActualDateTime;
    /**
     * 收货日期时间 ，本单货物的收货时间 YYYYMMDDhhmmss 。
     */
    private String goodsReceiptDateTime;
    /**
     * 运费金额  托运人与网络货运经营 者签订运输合同确定的运费金 额，货币单位为人民币（元） ，
     * 保留 3 位小数，如整数的话 ，以.000 填充。如是一笔业务 分几辆车运，
     * 需将托运人针对 这笔业务付给网络货运经营者 的运输费用分摊到每辆车上。
     */
    private String totalMonetaryAmount;

    /**
     * 实付运费
     */
    private String totalPaymentAmount;
    /**
     * 油卡路桥费用等（运输过程中非人力成本），货币单位为人民币（元），保留3位小数， 如整数的话，以.000填充。
     */
    private String transportationCost;
    /**
     *运输的总里程数，单位为 公里。
     */
    private String transportationDistance;
    /**
     *网络货运经营者在收 货人确认收货后，全部完成该 笔运单的时间 YYYYMMDDhhmmss。
     */
    private String finishDateTime;

    private ConsignorInfo consignorInfo;

    private ConsigneeInfo consigneeInfo;

    private VehicleInfo vehicleInfo;

    private ActualCarrierInfo actualCarrierInfo;

    private InsuranceInformation insuranceInformation;

    private String remark;

    //@Schema(description="合同文件")
    private String contractFile;

    //@Schema(description="装货图片（多张图片，逗号分隔）")
    private String loadImgs;

    //@Schema(description="卸货图片（多张图片，逗号分隔）")
    private String unloadImgs;

    //@Schema(description="回单、磅单图片（多张图片，逗号分隔）")
    private String documentImgs;
}
